﻿using NP.BPMReportPlatform.BaseData.Dto;
using NP.BPMReportPlatform.Entities.BPM_Business;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.BaseData
{
    /// <summary>
    /// 基础数据接口服务
    /// </summary>
    public interface IBaseDataAppService : IApplicationService
    {

        /// <summary>
        /// 获取字典表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<GetKeyValuesOutput>> GetKeyValues(GetKeyValuesInput input);

        /// <summary>
        /// 获取字典表（单条数据）
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<GetKeyValuesOutput> GetKeyValues(Guid id);

        /// <summary>
        /// 更新培训区域排序
        /// </summary>
        /// <param name="list">集合</param>
        Task<bool> UpdateSort(List<KeyValues> list);

        /// <summary>
        /// 获取数据字典信息
        /// </summary>
        /// <param name="typeCode"></param>
        /// <returns></returns>
        Task<List<DictionaryOutput>> GetDictionary(string typeCode);

        /// <summary>
        ///  获取省份城市信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<CityOutput>> GetCityData(GetCityInput input);
    }
}
